<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE CPP #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE NoImplicitPrelude #-}</span><span>
</span><span id="line-3"></span><span class="hs-pragma">{-# LANGUAGE MagicHash #-}</span><span>
</span><span id="line-4"></span><span class="hs-pragma">{-# LANGUAGE UnboxedTuples #-}</span><span>
</span><span id="line-5"></span><span class="hs-pragma">{-# LANGUAGE BlockArguments #-}</span><span>
</span><span id="line-6"></span><span class="hs-pragma">{-# LANGUAGE BangPatterns #-}</span><span>
</span><span id="line-7"></span><span class="hs-pragma">{-# LANGUAGE MultiWayIf #-}</span><span>
</span><span id="line-8"></span><span class="hs-pragma">{-# LANGUAGE LambdaCase #-}</span><span>
</span><span id="line-9"></span><span class="hs-pragma">{-# LANGUAGE PolyKinds #-}</span><span>
</span><span id="line-10"></span><span class="hs-pragma">{-# LANGUAGE KindSignatures #-}</span><span>
</span><span id="line-11"></span><span class="hs-pragma">{-# OPTIONS_GHC -Wno-name-shadowing #-}</span><span>
</span><span id="line-12"></span><span>
</span><span id="line-13"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.Num.WordArray</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-14"></span><span>
</span><span id="line-15"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#"><span class="hs-identifier">GHC.Prim</span></a></span><span>
</span><span id="line-16"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Magic.html#"><span class="hs-identifier">GHC.Magic</span></a></span><span>
</span><span id="line-17"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#"><span class="hs-identifier">GHC.Types</span></a></span><span>
</span><span id="line-18"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html"><span class="hs-identifier">GHC.Num.Primitives</span></a></span><span class="hs-cpp">

#include &quot;MachDeps.h&quot;
</span><span class="hs-cpp">#include &quot;WordSize.h&quot;
</span><span>
</span><span id="line-23"></span><span class="hs-keyword">default</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-24"></span><span>
</span><span id="line-25"></span><span class="hs-comment">-- | Unlifted array of Word</span><span>
</span><span id="line-26"></span><span class="hs-keyword">type</span><span> </span><span id="WordArray%23"><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-var">WordArray#</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#ByteArray%23"><span class="hs-identifier hs-type">ByteArray#</span></a></span><span>
</span><span id="line-27"></span><span class="hs-keyword">type</span><span> </span><span id="MutableWordArray%23"><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-var">MutableWordArray#</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#MutableByteArray%23"><span class="hs-identifier hs-type">MutableByteArray#</span></a></span><span>
</span><span id="line-28"></span><span>
</span><span id="line-29"></span><span class="hs-keyword">data</span><span> </span><span id="WordArray"><span class="annot"><a href="GHC.Num.WordArray.html#WordArray"><span class="hs-identifier hs-var">WordArray</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span id="WordArray"><span class="annot"><a href="GHC.Num.WordArray.html#WordArray"><span class="hs-identifier hs-var">WordArray</span></a></span></span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span>
</span><span id="line-30"></span><span class="hs-keyword">data</span><span> </span><span id="MutableWordArray"><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray"><span class="hs-identifier hs-var">MutableWordArray</span></a></span></span><span> </span><span id="local-6989586621679032840"><span class="annot"><a href="#local-6989586621679032840"><span class="hs-identifier hs-type">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="MutableWordArray"><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray"><span class="hs-identifier hs-var">MutableWordArray</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032840"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-31"></span><span>
</span><span id="line-32"></span><span class="hs-comment">-- | Convert limb count into byte count</span><span>
</span><span id="line-33"></span><span class="annot"><a href="GHC.Num.WordArray.html#wordsToBytes%23"><span class="hs-identifier hs-type">wordsToBytes#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span>
</span><span id="line-34"></span><span id="wordsToBytes%23"><span class="annot"><span class="annottext">wordsToBytes# :: Int# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordsToBytes%23"><span class="hs-identifier hs-var hs-var">wordsToBytes#</span></a></span></span><span> </span><span id="local-6989586621679032837"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032837"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032837"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#uncheckedIShiftL%23"><span class="hs-operator hs-var">`uncheckedIShiftL#`</span></a></span><span> </span><span class="hs-identifier">WORD_SIZE_BYTES_SHIFT#</span><span>
</span><span id="line-35"></span><span>
</span><span id="line-36"></span><span class="hs-comment">-- | Convert byte count into limb count</span><span>
</span><span id="line-37"></span><span class="annot"><a href="GHC.Num.WordArray.html#bytesToWords%23"><span class="hs-identifier hs-type">bytesToWords#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span>
</span><span id="line-38"></span><span id="bytesToWords%23"><span class="annot"><span class="annottext">bytesToWords# :: Int# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#bytesToWords%23"><span class="hs-identifier hs-var hs-var">bytesToWords#</span></a></span></span><span> </span><span id="local-6989586621679032835"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032835"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032835"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#uncheckedIShiftRL%23"><span class="hs-operator hs-var">`uncheckedIShiftRL#`</span></a></span><span> </span><span class="hs-identifier">WORD_SIZE_BYTES_SHIFT#</span><span>
</span><span id="line-39"></span><span>
</span><span id="line-40"></span><span>
</span><span id="line-41"></span><span class="hs-comment">-- | Create a new WordArray# of the given size (*in Word#*) and apply the</span><span>
</span><span id="line-42"></span><span class="hs-comment">-- action to it before returning it frozen</span><span>
</span><span id="line-43"></span><span class="annot"><a href="GHC.Num.WordArray.html#withNewWordArray%23"><span class="hs-identifier hs-type">withNewWordArray#</span></a></span><span>
</span><span id="line-44"></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span>  </span><span class="hs-comment">-- ^ Size in Word</span><span>
</span><span id="line-45"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-46"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span>
</span><span id="line-47"></span><span id="withNewWordArray%23"><span class="annot"><span class="annottext">withNewWordArray# :: Int#
-&gt; (MutableWordArray# RealWorld
    -&gt; State# RealWorld -&gt; State# RealWorld)
-&gt; WordArray#
</span><a href="GHC.Num.WordArray.html#withNewWordArray%23"><span class="hs-identifier hs-var hs-var">withNewWordArray#</span></a></span></span><span> </span><span id="local-6989586621679032833"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032833"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span id="local-6989586621679032832"><span class="annot"><span class="annottext">MutableWordArray# RealWorld -&gt; State# RealWorld -&gt; State# RealWorld
</span><a href="#local-6989586621679032832"><span class="hs-identifier hs-var">act</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">(State# RealWorld -&gt; (# State# RealWorld, WordArray# #))
-&gt; (# State# RealWorld, WordArray# #)
forall o. (State# RealWorld -&gt; o) -&gt; o
</span><a href="../../ghc-prim/src/GHC.Magic.html#runRW%23"><span class="hs-identifier hs-var">runRW#</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld -&gt; (# State# RealWorld, WordArray# #)
</span><a href="#local-6989586621679032831"><span class="hs-identifier hs-var">io</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032830"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032830"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032830"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-48"></span><span>   </span><span class="hs-keyword">where</span><span>
</span><span id="line-49"></span><span>      </span><span id="local-6989586621679032831"><span class="annot"><span class="annottext">io :: State# RealWorld -&gt; (# State# RealWorld, WordArray# #)
</span><a href="#local-6989586621679032831"><span class="hs-identifier hs-var hs-var">io</span></a></span></span><span> </span><span id="local-6989586621679032829"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032829"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-50"></span><span>         </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Int#
-&gt; State# RealWorld
-&gt; (# State# RealWorld, MutableWordArray# RealWorld #)
forall s. Int# -&gt; State# s -&gt; (# State# s, MutableWordArray# s #)
</span><a href="GHC.Num.WordArray.html#newWordArray%23"><span class="hs-identifier hs-var">newWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032833"><span class="hs-identifier hs-var">sz</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032829"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="hs-special">{</span><span> </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032827"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032827"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032826"><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032826"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-51"></span><span>         </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld -&gt; State# RealWorld -&gt; State# RealWorld
</span><a href="#local-6989586621679032832"><span class="hs-identifier hs-var">act</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032826"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032827"><span class="hs-identifier hs-var">s</span></a></span><span>          </span><span class="hs-keyword">of</span><span> </span><span class="hs-special">{</span><span> </span><span id="local-6989586621679032825"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032825"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-52"></span><span>         </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
-&gt; State# RealWorld -&gt; (# State# RealWorld, WordArray# #)
forall d.
MutableByteArray# d -&gt; State# d -&gt; (# State# d, WordArray# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#unsafeFreezeByteArray%23"><span class="hs-identifier hs-var">unsafeFreezeByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032826"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032825"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-53"></span><span>         </span><span class="hs-special">}</span><span class="hs-special">}</span><span>
</span><span id="line-54"></span><span>
</span><span id="line-55"></span><span class="hs-comment">-- | Create two new WordArray# of the given sizes (*in Word#*) and apply the</span><span>
</span><span id="line-56"></span><span class="hs-comment">-- action to them before returning them frozen</span><span>
</span><span id="line-57"></span><span class="annot"><a href="GHC.Num.WordArray.html#withNewWordArray2%23"><span class="hs-identifier hs-type">withNewWordArray2#</span></a></span><span>
</span><span id="line-58"></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-comment">-- ^ Size in Word</span><span>
</span><span id="line-59"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-comment">-- ^ Ditto</span><span>
</span><span id="line-60"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span>
</span><span id="line-61"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span>
</span><span id="line-62"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span>
</span><span id="line-63"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-64"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-65"></span><span id="withNewWordArray2%23"><span class="annot"><span class="annottext">withNewWordArray2# :: Int#
-&gt; Int#
-&gt; (MutableWordArray# RealWorld
    -&gt; MutableWordArray# RealWorld
    -&gt; State# RealWorld
    -&gt; State# RealWorld)
-&gt; (# WordArray#, WordArray# #)
</span><a href="GHC.Num.WordArray.html#withNewWordArray2%23"><span class="hs-identifier hs-var hs-var">withNewWordArray2#</span></a></span></span><span> </span><span id="local-6989586621679032823"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032823"><span class="hs-identifier hs-var">sz1</span></a></span></span><span> </span><span id="local-6989586621679032822"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032822"><span class="hs-identifier hs-var">sz2</span></a></span></span><span> </span><span id="local-6989586621679032821"><span class="annot"><span class="annottext">MutableWordArray# RealWorld
-&gt; MutableWordArray# RealWorld
-&gt; State# RealWorld
-&gt; State# RealWorld
</span><a href="#local-6989586621679032821"><span class="hs-identifier hs-var">act</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">(State# RealWorld
 -&gt; (# State# RealWorld, (# WordArray#, WordArray# #) #))
-&gt; (# State# RealWorld, (# WordArray#, WordArray# #) #)
forall o. (State# RealWorld -&gt; o) -&gt; o
</span><a href="../../ghc-prim/src/GHC.Magic.html#runRW%23"><span class="hs-identifier hs-var">runRW#</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
-&gt; (# State# RealWorld, (# WordArray#, WordArray# #) #)
</span><a href="#local-6989586621679032820"><span class="hs-identifier hs-var">io</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032819"><span class="annot"><span class="annottext">(# WordArray#, WordArray# #)
</span><a href="#local-6989586621679032819"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">(# WordArray#, WordArray# #)
</span><a href="#local-6989586621679032819"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-66"></span><span>   </span><span class="hs-keyword">where</span><span>
</span><span id="line-67"></span><span>      </span><span id="local-6989586621679032820"><span class="annot"><span class="annottext">io :: State# RealWorld
-&gt; (# State# RealWorld, (# WordArray#, WordArray# #) #)
</span><a href="#local-6989586621679032820"><span class="hs-identifier hs-var hs-var">io</span></a></span></span><span> </span><span id="local-6989586621679032818"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032818"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-68"></span><span>         </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Int#
-&gt; State# RealWorld
-&gt; (# State# RealWorld, MutableWordArray# RealWorld #)
forall s. Int# -&gt; State# s -&gt; (# State# s, MutableWordArray# s #)
</span><a href="GHC.Num.WordArray.html#newWordArray%23"><span class="hs-identifier hs-var">newWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032823"><span class="hs-identifier hs-var">sz1</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032818"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="hs-special">{</span><span> </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032817"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032817"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032816"><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032816"><span class="hs-identifier hs-var">mwa1</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-69"></span><span>         </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Int#
-&gt; State# RealWorld
-&gt; (# State# RealWorld, MutableWordArray# RealWorld #)
forall s. Int# -&gt; State# s -&gt; (# State# s, MutableWordArray# s #)
</span><a href="GHC.Num.WordArray.html#newWordArray%23"><span class="hs-identifier hs-var">newWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032822"><span class="hs-identifier hs-var">sz2</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032817"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="hs-special">{</span><span> </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032815"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032815"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032814"><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032814"><span class="hs-identifier hs-var">mwa2</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-70"></span><span>         </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
-&gt; MutableWordArray# RealWorld
-&gt; State# RealWorld
-&gt; State# RealWorld
</span><a href="#local-6989586621679032821"><span class="hs-identifier hs-var">act</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032816"><span class="hs-identifier hs-var">mwa1</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032814"><span class="hs-identifier hs-var">mwa2</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032815"><span class="hs-identifier hs-var">s</span></a></span><span>     </span><span class="hs-keyword">of</span><span> </span><span class="hs-special">{</span><span> </span><span id="local-6989586621679032813"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032813"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-71"></span><span>         </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
-&gt; State# RealWorld -&gt; (# State# RealWorld, WordArray# #)
forall d.
MutableByteArray# d -&gt; State# d -&gt; (# State# d, WordArray# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#unsafeFreezeByteArray%23"><span class="hs-identifier hs-var">unsafeFreezeByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032816"><span class="hs-identifier hs-var">mwa1</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032813"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="hs-special">{</span><span> </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032812"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032812"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032811"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032811"><span class="hs-identifier hs-var">wa1</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-72"></span><span>         </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
-&gt; State# RealWorld -&gt; (# State# RealWorld, WordArray# #)
forall d.
MutableByteArray# d -&gt; State# d -&gt; (# State# d, WordArray# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#unsafeFreezeByteArray%23"><span class="hs-identifier hs-var">unsafeFreezeByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032814"><span class="hs-identifier hs-var">mwa2</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032812"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="hs-special">{</span><span> </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032810"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032810"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032809"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032809"><span class="hs-identifier hs-var">wa2</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-73"></span><span>            </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032810"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">,</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032811"><span class="hs-identifier hs-var">wa1</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032809"><span class="hs-identifier hs-var">wa2</span></a></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-74"></span><span>         </span><span class="hs-special">}</span><span class="hs-special">}</span><span class="hs-special">}</span><span class="hs-special">}</span><span class="hs-special">}</span><span>
</span><span id="line-75"></span><span>
</span><span id="line-76"></span><span class="hs-comment">-- | Create a new WordArray#</span><span>
</span><span id="line-77"></span><span id="local-6989586621679032886"><span class="annot"><a href="GHC.Num.WordArray.html#newWordArray%23"><span class="hs-identifier hs-type">newWordArray#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032886"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032886"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032886"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-78"></span><span id="newWordArray%23"><span class="annot"><span class="annottext">newWordArray# :: forall s. Int# -&gt; State# s -&gt; (# State# s, MutableWordArray# s #)
</span><a href="GHC.Num.WordArray.html#newWordArray%23"><span class="hs-identifier hs-var hs-var">newWordArray#</span></a></span></span><span> </span><span id="local-6989586621679032808"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032808"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span id="local-6989586621679032807"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032807"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; State# s -&gt; (# State# s, MutableByteArray# s #)
forall s. Int# -&gt; State# s -&gt; (# State# s, MutableWordArray# s #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#newByteArray%23"><span class="hs-identifier hs-var">newByteArray#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordsToBytes%23"><span class="hs-identifier hs-var">wordsToBytes#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032808"><span class="hs-identifier hs-var">sz</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032807"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-79"></span><span>
</span><span id="line-80"></span><span class="hs-comment">-- | Create a new WordArray# of the given size (*in Word#*), apply the action to</span><span>
</span><span id="line-81"></span><span class="hs-comment">-- it, trim its most significant zeroes, then return it frozen</span><span>
</span><span id="line-82"></span><span class="annot"><a href="GHC.Num.WordArray.html#withNewWordArrayTrimed%23"><span class="hs-identifier hs-type">withNewWordArrayTrimed#</span></a></span><span>
</span><span id="line-83"></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span>  </span><span class="hs-comment">-- ^ Size in Word</span><span>
</span><span id="line-84"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-85"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span>
</span><span id="line-86"></span><span id="withNewWordArrayTrimed%23"><span class="annot"><span class="annottext">withNewWordArrayTrimed# :: Int#
-&gt; (MutableWordArray# RealWorld
    -&gt; State# RealWorld -&gt; State# RealWorld)
-&gt; WordArray#
</span><a href="GHC.Num.WordArray.html#withNewWordArrayTrimed%23"><span class="hs-identifier hs-var hs-var">withNewWordArrayTrimed#</span></a></span></span><span> </span><span id="local-6989586621679032805"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032805"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span id="local-6989586621679032804"><span class="annot"><span class="annottext">MutableWordArray# RealWorld -&gt; State# RealWorld -&gt; State# RealWorld
</span><a href="#local-6989586621679032804"><span class="hs-identifier hs-var">act</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
-&gt; (MutableWordArray# RealWorld
    -&gt; State# RealWorld -&gt; State# RealWorld)
-&gt; WordArray#
</span><a href="GHC.Num.WordArray.html#withNewWordArray%23"><span class="hs-identifier hs-var">withNewWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032805"><span class="hs-identifier hs-var">sz</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679032803"><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032803"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032802"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032802"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-87"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld -&gt; State# RealWorld -&gt; State# RealWorld
</span><a href="#local-6989586621679032804"><span class="hs-identifier hs-var">act</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032803"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032802"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-88"></span><span>      </span><span id="local-6989586621679032801"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032801"><span class="hs-identifier hs-var">s'</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld -&gt; State# RealWorld -&gt; State# RealWorld
forall s. MutableByteArray# s -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaTrimZeroes%23"><span class="hs-identifier hs-var">mwaTrimZeroes#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032803"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032801"><span class="hs-identifier hs-var">s'</span></a></span><span>
</span><span id="line-89"></span><span>
</span><span id="line-90"></span><span class="hs-comment">-- | Create two new WordArray# of the given sizes (*in Word#*), apply the action</span><span>
</span><span id="line-91"></span><span class="hs-comment">-- to them, trim their most significant zeroes, then return them frozen</span><span>
</span><span id="line-92"></span><span class="annot"><a href="GHC.Num.WordArray.html#withNewWordArray2Trimed%23"><span class="hs-identifier hs-type">withNewWordArray2Trimed#</span></a></span><span>
</span><span id="line-93"></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span>  </span><span class="hs-comment">-- ^ Size in Word</span><span>
</span><span id="line-94"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span>  </span><span class="hs-comment">-- ^ Ditto</span><span>
</span><span id="line-95"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span>
</span><span id="line-96"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span>
</span><span id="line-97"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span>
</span><span id="line-98"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-99"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-100"></span><span id="withNewWordArray2Trimed%23"><span class="annot"><span class="annottext">withNewWordArray2Trimed# :: Int#
-&gt; Int#
-&gt; (MutableWordArray# RealWorld
    -&gt; MutableWordArray# RealWorld
    -&gt; State# RealWorld
    -&gt; State# RealWorld)
-&gt; (# WordArray#, WordArray# #)
</span><a href="GHC.Num.WordArray.html#withNewWordArray2Trimed%23"><span class="hs-identifier hs-var hs-var">withNewWordArray2Trimed#</span></a></span></span><span> </span><span id="local-6989586621679032798"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032798"><span class="hs-identifier hs-var">sz1</span></a></span></span><span> </span><span id="local-6989586621679032797"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032797"><span class="hs-identifier hs-var">sz2</span></a></span></span><span> </span><span id="local-6989586621679032796"><span class="annot"><span class="annottext">MutableWordArray# RealWorld
-&gt; MutableWordArray# RealWorld
-&gt; State# RealWorld
-&gt; State# RealWorld
</span><a href="#local-6989586621679032796"><span class="hs-identifier hs-var">act</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
-&gt; Int#
-&gt; (MutableWordArray# RealWorld
    -&gt; MutableWordArray# RealWorld
    -&gt; State# RealWorld
    -&gt; State# RealWorld)
-&gt; (# WordArray#, WordArray# #)
</span><a href="GHC.Num.WordArray.html#withNewWordArray2%23"><span class="hs-identifier hs-var">withNewWordArray2#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032798"><span class="hs-identifier hs-var">sz1</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032797"><span class="hs-identifier hs-var">sz2</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679032795"><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032795"><span class="hs-identifier hs-var">mwa1</span></a></span></span><span> </span><span id="local-6989586621679032794"><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032794"><span class="hs-identifier hs-var">mwa2</span></a></span></span><span> </span><span id="local-6989586621679032793"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032793"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-101"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
-&gt; MutableWordArray# RealWorld
-&gt; State# RealWorld
-&gt; State# RealWorld
</span><a href="#local-6989586621679032796"><span class="hs-identifier hs-var">act</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032795"><span class="hs-identifier hs-var">mwa1</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032794"><span class="hs-identifier hs-var">mwa2</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032793"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-102"></span><span>      </span><span id="local-6989586621679032792"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032792"><span class="hs-identifier hs-var">s'</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld -&gt; State# RealWorld -&gt; State# RealWorld
forall s. MutableByteArray# s -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaTrimZeroes%23"><span class="hs-identifier hs-var">mwaTrimZeroes#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032795"><span class="hs-identifier hs-var">mwa1</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032792"><span class="hs-identifier hs-var">s'</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-103"></span><span>         </span><span id="local-6989586621679032791"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032791"><span class="hs-identifier hs-var">s''</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld -&gt; State# RealWorld -&gt; State# RealWorld
forall s. MutableByteArray# s -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaTrimZeroes%23"><span class="hs-identifier hs-var">mwaTrimZeroes#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032794"><span class="hs-identifier hs-var">mwa2</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032791"><span class="hs-identifier hs-var">s''</span></a></span><span>
</span><span id="line-104"></span><span>
</span><span id="line-105"></span><span class="hs-comment">-- | Create a new WordArray# of the given size (*in Word#*), apply the action to</span><span>
</span><span id="line-106"></span><span class="hs-comment">-- it. If the action returns true#, trim its most significant zeroes, then</span><span>
</span><span id="line-107"></span><span class="hs-comment">-- return it frozen. Otherwise, return ().</span><span>
</span><span id="line-108"></span><span class="annot"><a href="GHC.Num.WordArray.html#withNewWordArrayTrimedMaybe%23"><span class="hs-identifier hs-type">withNewWordArrayTrimedMaybe#</span></a></span><span>
</span><span id="line-109"></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span>  </span><span class="hs-comment">-- ^ Size in Word</span><span>
</span><span id="line-110"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-special">#)</span><span class="hs-special">)</span><span>
</span><span id="line-111"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-112"></span><span id="withNewWordArrayTrimedMaybe%23"><span class="annot"><span class="annottext">withNewWordArrayTrimedMaybe# :: Int#
-&gt; (MutableWordArray# RealWorld
    -&gt; State# RealWorld -&gt; (# State# RealWorld, Int# #))
-&gt; (# (# #) | WordArray# #)
</span><a href="GHC.Num.WordArray.html#withNewWordArrayTrimedMaybe%23"><span class="hs-identifier hs-var hs-var">withNewWordArrayTrimedMaybe#</span></a></span></span><span> </span><span id="local-6989586621679032788"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032788"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span id="local-6989586621679032787"><span class="annot"><span class="annottext">MutableWordArray# RealWorld
-&gt; State# RealWorld -&gt; (# State# RealWorld, Int# #)
</span><a href="#local-6989586621679032787"><span class="hs-identifier hs-var">act</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">(State# RealWorld
 -&gt; (# State# RealWorld, (# (# #) | WordArray# #) #))
-&gt; (# State# RealWorld, (# (# #) | WordArray# #) #)
forall o. (State# RealWorld -&gt; o) -&gt; o
</span><a href="../../ghc-prim/src/GHC.Magic.html#runRW%23"><span class="hs-identifier hs-var">runRW#</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
-&gt; (# State# RealWorld, (# (# #) | WordArray# #) #)
</span><a href="#local-6989586621679032786"><span class="hs-identifier hs-var">io</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032785"><span class="annot"><span class="annottext">(# (# #) | WordArray# #)
</span><a href="#local-6989586621679032785"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">(# (# #) | WordArray# #)
</span><a href="#local-6989586621679032785"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-113"></span><span>   </span><span class="hs-keyword">where</span><span>
</span><span id="line-114"></span><span>      </span><span id="local-6989586621679032786"><span class="annot"><span class="annottext">io :: State# RealWorld
-&gt; (# State# RealWorld, (# (# #) | WordArray# #) #)
</span><a href="#local-6989586621679032786"><span class="hs-identifier hs-var hs-var">io</span></a></span></span><span> </span><span id="local-6989586621679032784"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032784"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-115"></span><span>         </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Int#
-&gt; State# RealWorld
-&gt; (# State# RealWorld, MutableWordArray# RealWorld #)
forall s. Int# -&gt; State# s -&gt; (# State# s, MutableWordArray# s #)
</span><a href="GHC.Num.WordArray.html#newWordArray%23"><span class="hs-identifier hs-var">newWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032788"><span class="hs-identifier hs-var">sz</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032784"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-116"></span><span>            </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032783"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032783"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032782"><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032782"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
-&gt; State# RealWorld -&gt; (# State# RealWorld, Int# #)
</span><a href="#local-6989586621679032787"><span class="hs-identifier hs-var">act</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032782"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032783"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-117"></span><span>               </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032781"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032781"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032781"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">,</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-118"></span><span>               </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032780"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032780"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-identifier">_</span></span><span>  </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld -&gt; State# RealWorld -&gt; State# RealWorld
forall s. MutableByteArray# s -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaTrimZeroes%23"><span class="hs-identifier hs-var">mwaTrimZeroes#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032782"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032780"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-119"></span><span>                  </span><span id="local-6989586621679032779"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032779"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
-&gt; State# RealWorld -&gt; (# State# RealWorld, WordArray# #)
forall d.
MutableByteArray# d -&gt; State# d -&gt; (# State# d, WordArray# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#unsafeFreezeByteArray%23"><span class="hs-identifier hs-var">unsafeFreezeByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032782"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032779"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-120"></span><span>                     </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032778"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032778"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032777"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032777"><span class="hs-identifier hs-var">ba</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032778"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">,</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032777"><span class="hs-identifier hs-var">ba</span></a></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-121"></span><span>
</span><span id="line-122"></span><span class="hs-comment">-- | Create a WordArray# from two Word#</span><span>
</span><span id="line-123"></span><span class="hs-comment">--</span><span>
</span><span id="line-124"></span><span class="hs-comment">-- `wordArrayFromWord2# h l</span><span>
</span><span id="line-125"></span><span class="hs-comment">--    where h is the most significant word</span><span>
</span><span id="line-126"></span><span class="hs-comment">--          l is the least significant word</span><span>
</span><span id="line-127"></span><span class="annot"><a href="GHC.Num.WordArray.html#wordArrayFromWord2%23"><span class="hs-identifier hs-type">wordArrayFromWord2#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span>
</span><span id="line-128"></span><span id="wordArrayFromWord2%23"><span class="annot"><span class="annottext">wordArrayFromWord2# :: Word# -&gt; Word# -&gt; WordArray#
</span><a href="GHC.Num.WordArray.html#wordArrayFromWord2%23"><span class="hs-identifier hs-var hs-var">wordArrayFromWord2#</span></a></span></span><span> </span><span id="local-6989586621679032775"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032775"><span class="hs-identifier hs-var">h</span></a></span></span><span> </span><span id="local-6989586621679032774"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032774"><span class="hs-identifier hs-var">l</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span>
</span><span id="line-129"></span><span>   </span><span class="annot"><span class="annottext">Int#
-&gt; (MutableWordArray# RealWorld
    -&gt; State# RealWorld -&gt; State# RealWorld)
-&gt; WordArray#
</span><a href="GHC.Num.WordArray.html#withNewWordArray%23"><span class="hs-identifier hs-var">withNewWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">2#</span></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679032773"><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032773"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032772"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032772"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-130"></span><span>      </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
-&gt; Int# -&gt; Word# -&gt; State# RealWorld -&gt; State# RealWorld
forall s.
MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaWrite%23"><span class="hs-identifier hs-var">mwaWrite#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032773"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032774"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032772"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-131"></span><span>         </span><span id="local-6989586621679032770"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032770"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
-&gt; Int# -&gt; Word# -&gt; State# RealWorld -&gt; State# RealWorld
forall s.
MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaWrite%23"><span class="hs-identifier hs-var">mwaWrite#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032773"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032775"><span class="hs-identifier hs-var">h</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032770"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-132"></span><span>
</span><span id="line-133"></span><span class="hs-comment">-- | Create a WordArray# from one Word#</span><span>
</span><span id="line-134"></span><span class="annot"><a href="GHC.Num.WordArray.html#wordArrayFromWord%23"><span class="hs-identifier hs-type">wordArrayFromWord#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span>
</span><span id="line-135"></span><span id="wordArrayFromWord%23"><span class="annot"><span class="annottext">wordArrayFromWord# :: Word# -&gt; WordArray#
</span><a href="GHC.Num.WordArray.html#wordArrayFromWord%23"><span class="hs-identifier hs-var hs-var">wordArrayFromWord#</span></a></span></span><span> </span><span id="local-6989586621679032768"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032768"><span class="hs-identifier hs-var">w</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span>
</span><span id="line-136"></span><span>   </span><span class="annot"><span class="annottext">Int#
-&gt; (MutableWordArray# RealWorld
    -&gt; State# RealWorld -&gt; State# RealWorld)
-&gt; WordArray#
</span><a href="GHC.Num.WordArray.html#withNewWordArray%23"><span class="hs-identifier hs-var">withNewWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679032767"><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032767"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032766"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032766"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-137"></span><span>      </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
-&gt; Int# -&gt; Word# -&gt; State# RealWorld -&gt; State# RealWorld
forall s.
MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaWrite%23"><span class="hs-identifier hs-var">mwaWrite#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# RealWorld
</span><a href="#local-6989586621679032767"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032768"><span class="hs-identifier hs-var">w</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679032766"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-138"></span><span>
</span><span id="line-139"></span><span class="hs-comment">-- | Word array size</span><span>
</span><span id="line-140"></span><span class="annot"><a href="GHC.Num.WordArray.html#wordArraySize%23"><span class="hs-identifier hs-type">wordArraySize#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span>
</span><span id="line-141"></span><span id="wordArraySize%23"><span class="annot"><span class="annottext">wordArraySize# :: WordArray# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordArraySize%23"><span class="hs-identifier hs-var hs-var">wordArraySize#</span></a></span></span><span> </span><span id="local-6989586621679032764"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032764"><span class="hs-identifier hs-var">ba</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#bytesToWords%23"><span class="hs-identifier hs-var">bytesToWords#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">WordArray# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#sizeofByteArray%23"><span class="hs-identifier hs-var">sizeofByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032764"><span class="hs-identifier hs-var">ba</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-142"></span><span>
</span><span id="line-143"></span><span>
</span><span id="line-144"></span><span class="hs-comment">-- | Equality test for WordArray#</span><span>
</span><span id="line-145"></span><span>
</span><span id="line-146"></span><span class="hs-comment">-- | Get size in Words</span><span>
</span><span id="line-147"></span><span id="local-6989586621679032881"><span class="annot"><a href="GHC.Num.WordArray.html#mwaSize%23"><span class="hs-identifier hs-type">mwaSize#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032881"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032881"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032881"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-148"></span><span id="mwaSize%23"><span class="annot"><span class="annottext">mwaSize# :: forall s. MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaSize%23"><span class="hs-identifier hs-var hs-var">mwaSize#</span></a></span></span><span> </span><span id="local-6989586621679032762"><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032762"><span class="hs-identifier hs-var">mba</span></a></span></span><span> </span><span id="local-6989586621679032761"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032761"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
forall s. MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#getSizeofMutableByteArray%23"><span class="hs-identifier hs-var">getSizeofMutableByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032762"><span class="hs-identifier hs-var">mba</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032761"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-149"></span><span>   </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032760"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032760"><span class="hs-identifier hs-var">s2</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032759"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032759"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032760"><span class="hs-identifier hs-var">s2</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#bytesToWords%23"><span class="hs-identifier hs-var">bytesToWords#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032759"><span class="hs-identifier hs-var">sz</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-150"></span><span>
</span><span id="line-151"></span><span class="hs-comment">-- | Get the last Word (must be non empty!)</span><span>
</span><span id="line-152"></span><span class="annot"><a href="GHC.Num.WordArray.html#wordArrayLast%23"><span class="hs-identifier hs-type">wordArrayLast#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span>
</span><span id="line-153"></span><span id="wordArrayLast%23"><span class="annot"><span class="annottext">wordArrayLast# :: WordArray# -&gt; Word#
</span><a href="GHC.Num.WordArray.html#wordArrayLast%23"><span class="hs-identifier hs-var hs-var">wordArrayLast#</span></a></span></span><span> </span><span id="local-6989586621679032757"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032757"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">WordArray# -&gt; Int# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#indexWordArray%23"><span class="hs-identifier hs-var">indexWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032757"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">WordArray# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordArraySize%23"><span class="hs-identifier hs-var">wordArraySize#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032757"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>
</span><span id="line-154"></span><span>
</span><span id="line-155"></span><span class="hs-comment">-- | Copy Words from a WordArray</span><span>
</span><span id="line-156"></span><span class="hs-comment">--</span><span>
</span><span id="line-157"></span><span class="hs-comment">-- Don't do anything if the number of words to copy is &lt;= 0</span><span>
</span><span id="line-158"></span><span id="local-6989586621679032879"><span class="annot"><a href="GHC.Num.WordArray.html#mwaArrayCopy%23"><span class="hs-identifier hs-type">mwaArrayCopy#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#MutableByteArray%23"><span class="hs-identifier hs-type">MutableByteArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032879"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032879"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032879"><span class="hs-identifier hs-type">s</span></a></span></span><span>
</span><span id="line-159"></span><span id="mwaArrayCopy%23"><span class="annot"><span class="annottext">mwaArrayCopy# :: forall s.
MutableByteArray# s
-&gt; Int# -&gt; WordArray# -&gt; Int# -&gt; Int# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaArrayCopy%23"><span class="hs-identifier hs-var hs-var">mwaArrayCopy#</span></a></span></span><span> </span><span id="local-6989586621679032755"><span class="annot"><span class="annottext">MutableByteArray# s
</span><a href="#local-6989586621679032755"><span class="hs-identifier hs-var">dst</span></a></span></span><span> </span><span id="local-6989586621679032754"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032754"><span class="hs-identifier hs-var">dstIdx</span></a></span></span><span> </span><span id="local-6989586621679032753"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032753"><span class="hs-identifier hs-var">src</span></a></span></span><span> </span><span id="local-6989586621679032752"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032752"><span class="hs-identifier hs-var">srcIdx</span></a></span></span><span> </span><span id="local-6989586621679032751"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032751"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679032750"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032750"><span class="hs-identifier hs-var">s</span></a></span></span><span>
</span><span id="line-160"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032751"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%3D%23"><span class="hs-operator hs-var">&lt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032750"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-161"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">WordArray#
-&gt; Int#
-&gt; MutableByteArray# s
-&gt; Int#
-&gt; Int#
-&gt; State# s
-&gt; State# s
forall d.
WordArray#
-&gt; Int#
-&gt; MutableByteArray# d
-&gt; Int#
-&gt; Int#
-&gt; State# d
-&gt; State# d
</span><a href="../../ghc-prim/src/GHC.Prim.html#copyByteArray%23"><span class="hs-identifier hs-var">copyByteArray#</span></a></span><span>
</span><span id="line-162"></span><span>               </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032753"><span class="hs-identifier hs-var">src</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordsToBytes%23"><span class="hs-identifier hs-var">wordsToBytes#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032752"><span class="hs-identifier hs-var">srcIdx</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-163"></span><span>               </span><span class="annot"><span class="annottext">MutableByteArray# s
</span><a href="#local-6989586621679032755"><span class="hs-identifier hs-var">dst</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordsToBytes%23"><span class="hs-identifier hs-var">wordsToBytes#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032754"><span class="hs-identifier hs-var">dstIdx</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-164"></span><span>               </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordsToBytes%23"><span class="hs-identifier hs-var">wordsToBytes#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032751"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032750"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-165"></span><span>
</span><span id="line-166"></span><span class="hs-comment">-- | Shrink last words of a WordArray</span><span>
</span><span id="line-167"></span><span id="local-6989586621679032877"><span class="annot"><a href="GHC.Num.WordArray.html#mwaShrink%23"><span class="hs-identifier hs-type">mwaShrink#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#MutableByteArray%23"><span class="hs-identifier hs-type">MutableByteArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032877"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032877"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032877"><span class="hs-identifier hs-type">s</span></a></span></span><span>
</span><span id="line-168"></span><span id="mwaShrink%23"><span class="annot"><span class="annottext">mwaShrink# :: forall s. MutableByteArray# s -&gt; Int# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaShrink%23"><span class="hs-identifier hs-var hs-var">mwaShrink#</span></a></span></span><span> </span><span id="local-6989586621679032747"><span class="annot"><span class="annottext">MutableByteArray# s
</span><a href="#local-6989586621679032747"><span class="hs-identifier hs-var">_mwa</span></a></span></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span id="local-6989586621679032746"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032746"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032746"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-169"></span><span class="annot"><a href="GHC.Num.WordArray.html#mwaShrink%23"><span class="hs-identifier hs-var">mwaShrink#</span></a></span><span> </span><span id="local-6989586621679032745"><span class="annot"><span class="annottext">MutableByteArray# s
</span><a href="#local-6989586621679032745"><span class="hs-identifier hs-var">mwa</span></a></span></span><span>  </span><span id="local-6989586621679032744"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032744"><span class="hs-identifier hs-var">i</span></a></span></span><span>  </span><span id="local-6989586621679032743"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032743"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-170"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s -&gt; State# s -&gt; (# State# s, Int# #)
forall s. MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaSize%23"><span class="hs-identifier hs-var">mwaSize#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s
</span><a href="#local-6989586621679032745"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032743"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-171"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032742"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032742"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032741"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032741"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s -&gt; Int# -&gt; State# s -&gt; State# s
forall s. MutableByteArray# s -&gt; Int# -&gt; State# s -&gt; State# s
</span><a href="../../ghc-prim/src/GHC.Prim.html#shrinkMutableByteArray%23"><span class="hs-identifier hs-var">shrinkMutableByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s
</span><a href="#local-6989586621679032745"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordsToBytes%23"><span class="hs-identifier hs-var">wordsToBytes#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032741"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032744"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032742"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-172"></span><span>
</span><span id="line-173"></span><span class="hs-comment">-- | Set size</span><span>
</span><span id="line-174"></span><span id="local-6989586621679032740"><span class="annot"><a href="GHC.Num.WordArray.html#mwaSetSize%23"><span class="hs-identifier hs-type">mwaSetSize#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#MutableByteArray%23"><span class="hs-identifier hs-type">MutableByteArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032740"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032740"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032740"><span class="hs-identifier hs-type">s</span></a></span></span><span>
</span><span id="line-175"></span><span id="mwaSetSize%23"><span class="annot"><span class="annottext">mwaSetSize# :: forall s. MutableByteArray# s -&gt; Int# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaSetSize%23"><span class="hs-identifier hs-var hs-var">mwaSetSize#</span></a></span></span><span> </span><span id="local-6989586621679032738"><span class="annot"><span class="annottext">MutableByteArray# s
</span><a href="#local-6989586621679032738"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032737"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032737"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679032736"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032736"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s -&gt; Int# -&gt; State# s -&gt; State# s
forall s. MutableByteArray# s -&gt; Int# -&gt; State# s -&gt; State# s
</span><a href="../../ghc-prim/src/GHC.Prim.html#shrinkMutableByteArray%23"><span class="hs-identifier hs-var">shrinkMutableByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s
</span><a href="#local-6989586621679032738"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordsToBytes%23"><span class="hs-identifier hs-var">wordsToBytes#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032737"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032736"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-176"></span><span>
</span><span id="line-177"></span><span class="hs-comment">-- | Copy the WordArray into the MWA and shrink the size of MWA to the one of</span><span>
</span><span id="line-178"></span><span class="hs-comment">-- the WordArray</span><span>
</span><span id="line-179"></span><span id="local-6989586621679032874"><span class="annot"><a href="GHC.Num.WordArray.html#mwaInitCopyShrink%23"><span class="hs-identifier hs-type">mwaInitCopyShrink#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#MutableByteArray%23"><span class="hs-identifier hs-type">MutableByteArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032874"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032874"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032874"><span class="hs-identifier hs-type">s</span></a></span></span><span>
</span><span id="line-180"></span><span id="mwaInitCopyShrink%23"><span class="annot"><span class="annottext">mwaInitCopyShrink# :: forall s. MutableByteArray# s -&gt; WordArray# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaInitCopyShrink%23"><span class="hs-identifier hs-var hs-var">mwaInitCopyShrink#</span></a></span></span><span> </span><span id="local-6989586621679032734"><span class="annot"><span class="annottext">MutableByteArray# s
</span><a href="#local-6989586621679032734"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032733"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032733"><span class="hs-identifier hs-var">wa</span></a></span></span><span> </span><span id="local-6989586621679032732"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032732"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-181"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s
-&gt; Int# -&gt; WordArray# -&gt; Int# -&gt; Int# -&gt; State# s -&gt; State# s
forall s.
MutableByteArray# s
-&gt; Int# -&gt; WordArray# -&gt; Int# -&gt; Int# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaArrayCopy%23"><span class="hs-identifier hs-var">mwaArrayCopy#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s
</span><a href="#local-6989586621679032734"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032733"><span class="hs-identifier hs-var">wa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">WordArray# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordArraySize%23"><span class="hs-identifier hs-var">wordArraySize#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032733"><span class="hs-identifier hs-var">wa</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032732"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-182"></span><span>      </span><span id="local-6989586621679032731"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032731"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s -&gt; Int# -&gt; State# s -&gt; State# s
forall s. MutableByteArray# s -&gt; Int# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaSetSize%23"><span class="hs-identifier hs-var">mwaSetSize#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s
</span><a href="#local-6989586621679032734"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">WordArray# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordArraySize%23"><span class="hs-identifier hs-var">wordArraySize#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032733"><span class="hs-identifier hs-var">wa</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032731"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-183"></span><span>
</span><span id="line-184"></span><span class="hs-comment">-- | Trim ending zeroes</span><span>
</span><span id="line-185"></span><span id="local-6989586621679032883"><span class="annot"><a href="GHC.Num.WordArray.html#mwaTrimZeroes%23"><span class="hs-identifier hs-type">mwaTrimZeroes#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#MutableByteArray%23"><span class="hs-identifier hs-type">MutableByteArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032883"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032883"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032883"><span class="hs-identifier hs-type">s</span></a></span></span><span>
</span><span id="line-186"></span><span id="mwaTrimZeroes%23"><span class="annot"><span class="annottext">mwaTrimZeroes# :: forall s. MutableByteArray# s -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaTrimZeroes%23"><span class="hs-identifier hs-var hs-var">mwaTrimZeroes#</span></a></span></span><span> </span><span id="local-6989586621679032730"><span class="annot"><span class="annottext">MutableByteArray# s
</span><a href="#local-6989586621679032730"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032729"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032729"><span class="hs-identifier hs-var">s1</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-187"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s -&gt; State# s -&gt; (# State# s, Int# #)
forall s. MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaClz"><span class="hs-identifier hs-var">mwaClz</span></a></span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s
</span><a href="#local-6989586621679032730"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032729"><span class="hs-identifier hs-var">s1</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-188"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032727"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032727"><span class="hs-identifier hs-var">s2</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032727"><span class="hs-identifier hs-var">s2</span></a></span><span>
</span><span id="line-189"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032726"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032726"><span class="hs-identifier hs-var">s2</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032725"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032725"><span class="hs-identifier hs-var">c</span></a></span></span><span>  </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s -&gt; Int# -&gt; State# s -&gt; State# s
forall s. MutableByteArray# s -&gt; Int# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaShrink%23"><span class="hs-identifier hs-var">mwaShrink#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s
</span><a href="#local-6989586621679032730"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032725"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032726"><span class="hs-identifier hs-var">s2</span></a></span><span>
</span><span id="line-190"></span><span>
</span><span id="line-191"></span><span class="hs-comment">-- | Count leading zero Words</span><span>
</span><span id="line-192"></span><span id="local-6989586621679032724"><span class="annot"><a href="GHC.Num.WordArray.html#mwaClz"><span class="hs-identifier hs-type">mwaClz</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032724"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032724"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032724"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-193"></span><span id="mwaClz"><span class="annot"><span class="annottext">mwaClz :: forall s. MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaClz"><span class="hs-identifier hs-var hs-var">mwaClz</span></a></span></span><span> </span><span id="local-6989586621679032723"><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032723"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032722"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032722"><span class="hs-identifier hs-var">s1</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
forall s. MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaSize%23"><span class="hs-identifier hs-var">mwaSize#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032723"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032722"><span class="hs-identifier hs-var">s1</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-194"></span><span>   </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032721"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032721"><span class="hs-identifier hs-var">s2</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621679032720"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032720"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span class="hs-special">#)</span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; Int# -&gt; State# s -&gt; (# State# s, Int# #)
forall s.
MutableWordArray# s -&gt; Int# -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaClzAt"><span class="hs-identifier hs-var">mwaClzAt</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032723"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032720"><span class="hs-identifier hs-var">sz</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032721"><span class="hs-identifier hs-var">s2</span></a></span><span>
</span><span id="line-195"></span><span>
</span><span id="line-196"></span><span class="hs-comment">-- | Count leading zero Words starting at given position</span><span>
</span><span id="line-197"></span><span id="local-6989586621679032870"><span class="annot"><a href="GHC.Num.WordArray.html#mwaClzAt"><span class="hs-identifier hs-type">mwaClzAt</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032870"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032870"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032870"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-198"></span><span id="mwaClzAt"><span class="annot"><span class="annottext">mwaClzAt :: forall s.
MutableWordArray# s -&gt; Int# -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaClzAt"><span class="hs-identifier hs-var hs-var">mwaClzAt</span></a></span></span><span> </span><span id="local-6989586621679032718"><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032718"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="#local-6989586621679032717"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-199"></span><span>   </span><span class="hs-keyword">where</span><span>
</span><span id="line-200"></span><span>      </span><span id="local-6989586621679032717"><span class="annot"><span class="annottext">go :: Int# -&gt; Int# -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="#local-6989586621679032717"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679032716"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032716"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679032715"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032715"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span id="local-6989586621679032714"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032714"><span class="hs-identifier hs-var">s</span></a></span></span><span>
</span><span id="line-201"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032715"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032714"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032716"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-202"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; Int# -&gt; State# s -&gt; (# State# s, Word# #)
forall d.
MutableByteArray# d -&gt; Int# -&gt; State# d -&gt; (# State# d, Word# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#readWordArray%23"><span class="hs-identifier hs-var">readWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032718"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032715"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032714"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-203"></span><span>            </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032713"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032713"><span class="hs-identifier hs-var">s'</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="#local-6989586621679032717"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032716"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032715"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032713"><span class="hs-identifier hs-var">s'</span></a></span><span>
</span><span id="line-204"></span><span>            </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032712"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032712"><span class="hs-identifier hs-var">s'</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span>   </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032712"><span class="hs-identifier hs-var">s'</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032716"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-205"></span><span>
</span><span id="line-206"></span><span class="hs-comment">-- | Count leading zero Words starting at given position</span><span>
</span><span id="line-207"></span><span class="annot"><a href="GHC.Num.WordArray.html#waClzAt"><span class="hs-identifier hs-type">waClzAt</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span>
</span><span id="line-208"></span><span id="waClzAt"><span class="annot"><span class="annottext">waClzAt :: WordArray# -&gt; Int# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#waClzAt"><span class="hs-identifier hs-var hs-var">waClzAt</span></a></span></span><span> </span><span id="local-6989586621679032710"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032710"><span class="hs-identifier hs-var">wa</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="#local-6989586621679032709"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-209"></span><span>   </span><span class="hs-keyword">where</span><span>
</span><span id="line-210"></span><span>      </span><span id="local-6989586621679032709"><span class="annot"><span class="annottext">go :: Int# -&gt; Int# -&gt; Int#
</span><a href="#local-6989586621679032709"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679032708"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032708"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679032707"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032707"><span class="hs-identifier hs-var">i</span></a></span></span><span>
</span><span id="line-211"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032707"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>
</span><span id="line-212"></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032708"><span class="hs-identifier hs-var">c</span></a></span><span>
</span><span id="line-213"></span><span>
</span><span id="line-214"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">WordArray# -&gt; Int# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#indexWordArray%23"><span class="hs-identifier hs-var">indexWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032710"><span class="hs-identifier hs-var">wa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032707"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-215"></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="#local-6989586621679032709"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032708"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032707"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>
</span><span id="line-216"></span><span>
</span><span id="line-217"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-218"></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032708"><span class="hs-identifier hs-var">c</span></a></span><span>
</span><span id="line-219"></span><span>
</span><span id="line-220"></span><span class="hs-comment">-- | Compare the most signiciant limbs of a and b. The comparison stops (i.e.</span><span>
</span><span id="line-221"></span><span class="hs-comment">-- returns EQ) when there isn't enough lims in a or b to perform another</span><span>
</span><span id="line-222"></span><span class="hs-comment">-- comparison.</span><span>
</span><span id="line-223"></span><span class="annot"><a href="GHC.Num.WordArray.html#wordArrayCompareMSWords"><span class="hs-identifier hs-type">wordArrayCompareMSWords</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Ordering"><span class="hs-identifier hs-type">Ordering</span></a></span><span>
</span><span id="line-224"></span><span id="wordArrayCompareMSWords"><span class="annot"><span class="annottext">wordArrayCompareMSWords :: WordArray# -&gt; WordArray# -&gt; Ordering
</span><a href="GHC.Num.WordArray.html#wordArrayCompareMSWords"><span class="hs-identifier hs-var hs-var">wordArrayCompareMSWords</span></a></span></span><span> </span><span id="local-6989586621679032705"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032705"><span class="hs-identifier hs-var">wa</span></a></span></span><span> </span><span id="local-6989586621679032704"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032704"><span class="hs-identifier hs-var">wb</span></a></span></span><span>
</span><span id="line-225"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032703"><span class="hs-identifier hs-var">szA</span></a></span><span>
</span><span id="line-226"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032702"><span class="hs-identifier hs-var">szB</span></a></span><span>
</span><span id="line-227"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span>
</span><span id="line-228"></span><span>
</span><span id="line-229"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032703"><span class="hs-identifier hs-var">szA</span></a></span><span>
</span><span id="line-230"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span>
</span><span id="line-231"></span><span>
</span><span id="line-232"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032702"><span class="hs-identifier hs-var">szB</span></a></span><span>
</span><span id="line-233"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span>
</span><span id="line-234"></span><span>
</span><span id="line-235"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-236"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Ordering
</span><a href="#local-6989586621679032701"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032703"><span class="hs-identifier hs-var">szA</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032702"><span class="hs-identifier hs-var">szB</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>
</span><span id="line-237"></span><span>   </span><span class="hs-keyword">where</span><span>
</span><span id="line-238"></span><span>      </span><span id="local-6989586621679032703"><span class="annot"><span class="annottext">szA :: Int#
</span><a href="#local-6989586621679032703"><span class="hs-identifier hs-var hs-var">szA</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">WordArray# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordArraySize%23"><span class="hs-identifier hs-var">wordArraySize#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032705"><span class="hs-identifier hs-var">wa</span></a></span><span>
</span><span id="line-239"></span><span>      </span><span id="local-6989586621679032702"><span class="annot"><span class="annottext">szB :: Int#
</span><a href="#local-6989586621679032702"><span class="hs-identifier hs-var hs-var">szB</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">WordArray# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordArraySize%23"><span class="hs-identifier hs-var">wordArraySize#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032704"><span class="hs-identifier hs-var">wb</span></a></span><span>
</span><span id="line-240"></span><span>
</span><span id="line-241"></span><span>      </span><span id="local-6989586621679032701"><span class="annot"><span class="annottext">go :: Int# -&gt; Int# -&gt; Ordering
</span><a href="#local-6989586621679032701"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679032700"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032700"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span id="local-6989586621679032699"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032699"><span class="hs-identifier hs-var">j</span></a></span></span><span>
</span><span id="line-242"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032700"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span>
</span><span id="line-243"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032699"><span class="hs-identifier hs-var">j</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span>
</span><span id="line-244"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-245"></span><span>            </span><span class="hs-keyword">let</span><span>
</span><span id="line-246"></span><span>               </span><span id="local-6989586621679032698"><span class="annot"><span class="annottext">a :: Word#
</span><a href="#local-6989586621679032698"><span class="hs-identifier hs-var hs-var">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">WordArray# -&gt; Int# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#indexWordArray%23"><span class="hs-identifier hs-var">indexWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032705"><span class="hs-identifier hs-var">wa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032700"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-247"></span><span>               </span><span id="local-6989586621679032697"><span class="annot"><span class="annottext">b :: Word#
</span><a href="#local-6989586621679032697"><span class="hs-identifier hs-var hs-var">b</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">WordArray# -&gt; Int# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#indexWordArray%23"><span class="hs-identifier hs-var">indexWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032704"><span class="hs-identifier hs-var">wb</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032699"><span class="hs-identifier hs-var">j</span></a></span><span>
</span><span id="line-248"></span><span>            </span><span class="hs-keyword">in</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032698"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#gtWord%23"><span class="hs-operator hs-var">`gtWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032697"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span>
</span><span id="line-249"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032697"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#gtWord%23"><span class="hs-operator hs-var">`gtWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032698"><span class="hs-identifier hs-var">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span>
</span><span id="line-250"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Ordering
</span><a href="#local-6989586621679032701"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032700"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032699"><span class="hs-identifier hs-var">j</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>
</span><span id="line-251"></span><span>
</span><span id="line-252"></span><span>
</span><span id="line-253"></span><span class="hs-comment">-- | Compute MutableWordArray &lt;- WordArray + Word</span><span>
</span><span id="line-254"></span><span class="hs-comment">--</span><span>
</span><span id="line-255"></span><span class="hs-comment">-- The MutableWordArray may not be initialized and will be erased anyway.</span><span>
</span><span id="line-256"></span><span class="hs-comment">--</span><span>
</span><span id="line-257"></span><span class="hs-comment">-- Input: Size(MutableWordArray) = Size(WordArray) + 1</span><span>
</span><span id="line-258"></span><span class="hs-comment">-- Output: Size(MutableWordArray) = Size(WordArray) [+ 1]</span><span>
</span><span id="line-259"></span><span id="local-6989586621679032868"><span class="annot"><a href="GHC.Num.WordArray.html#mwaInitArrayPlusWord"><span class="hs-identifier hs-type">mwaInitArrayPlusWord</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032868"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032868"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span class="annot"><a href="#local-6989586621679032868"><span class="hs-identifier hs-type">s</span></a></span></span><span>
</span><span id="line-260"></span><span id="mwaInitArrayPlusWord"><span class="annot"><span class="annottext">mwaInitArrayPlusWord :: forall s.
MutableWordArray# s -&gt; WordArray# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaInitArrayPlusWord"><span class="hs-identifier hs-var hs-var">mwaInitArrayPlusWord</span></a></span></span><span> </span><span id="local-6989586621679032695"><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032695"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032694"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032694"><span class="hs-identifier hs-var">wa</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="#local-6989586621679032693"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-261"></span><span>   </span><span class="hs-keyword">where</span><span>
</span><span id="line-262"></span><span>      </span><span id="local-6989586621679032692"><span class="annot"><span class="annottext">sz :: Int#
</span><a href="#local-6989586621679032692"><span class="hs-identifier hs-var hs-var">sz</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">WordArray# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordArraySize%23"><span class="hs-identifier hs-var">wordArraySize#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032694"><span class="hs-identifier hs-var">wa</span></a></span><span>
</span><span id="line-263"></span><span>      </span><span id="local-6989586621679032693"><span class="annot"><span class="annottext">go :: Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="#local-6989586621679032693"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679032691"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032691"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span id="local-6989586621679032690"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032690"><span class="hs-identifier hs-var">carry</span></a></span></span><span> </span><span id="local-6989586621679032689"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032689"><span class="hs-identifier hs-var">s</span></a></span></span><span>
</span><span id="line-264"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032691"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032692"><span class="hs-identifier hs-var">sz</span></a></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032689"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-265"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032691"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3D%3D%23"><span class="hs-operator hs-var">==#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032692"><span class="hs-identifier hs-var">sz</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; Word# -&gt; Int# -&gt; State# s -&gt; State# s
forall s.
MutableWordArray# s -&gt; Word# -&gt; Int# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaWriteOrShrink"><span class="hs-identifier hs-var">mwaWriteOrShrink</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032695"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032690"><span class="hs-identifier hs-var">carry</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032691"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032689"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-266"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032690"><span class="hs-identifier hs-var">carry</span></a></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="hs-comment">-- copy higher remaining words and shrink the mwa</span><span>
</span><span id="line-267"></span><span>                                </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
-&gt; Int# -&gt; WordArray# -&gt; Int# -&gt; Int# -&gt; State# s -&gt; State# s
forall s.
MutableByteArray# s
-&gt; Int# -&gt; WordArray# -&gt; Int# -&gt; Int# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaArrayCopy%23"><span class="hs-identifier hs-var">mwaArrayCopy#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032695"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032691"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032694"><span class="hs-identifier hs-var">wa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032691"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032692"><span class="hs-identifier hs-var">sz</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032691"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032689"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-268"></span><span>                                    </span><span id="local-6989586621679032687"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032687"><span class="hs-identifier hs-var">s2</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; Int# -&gt; State# s -&gt; State# s
forall s. MutableByteArray# s -&gt; Int# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaShrink%23"><span class="hs-identifier hs-var">mwaShrink#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032695"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032687"><span class="hs-identifier hs-var">s2</span></a></span><span>
</span><span id="line-269"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>               </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">let</span><span> </span><span class="hs-glyph">!</span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032686"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032686"><span class="hs-identifier hs-var">l</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621679032685"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032685"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; (# Word#, Int# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#addWordC%23"><span class="hs-identifier hs-var">addWordC#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">WordArray# -&gt; Int# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#indexWordArray%23"><span class="hs-identifier hs-var">indexWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032694"><span class="hs-identifier hs-var">wa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032691"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032690"><span class="hs-identifier hs-var">carry</span></a></span><span>
</span><span id="line-270"></span><span>                                </span><span class="hs-keyword">in</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
forall s.
MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaWrite%23"><span class="hs-identifier hs-var">mwaWrite#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032695"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032691"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032686"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032689"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-271"></span><span>                                    </span><span id="local-6989586621679032684"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032684"><span class="hs-identifier hs-var">s2</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="#local-6989586621679032693"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032691"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032685"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032684"><span class="hs-identifier hs-var">s2</span></a></span><span>
</span><span id="line-272"></span><span>
</span><span id="line-273"></span><span class="hs-comment">-- | Write the most-significant Word:</span><span>
</span><span id="line-274"></span><span class="hs-comment">--    * if it is 0: shrink the array of 1 Word</span><span>
</span><span id="line-275"></span><span class="hs-comment">--    * otherwise: write it</span><span>
</span><span id="line-276"></span><span id="local-6989586621679032866"><span class="annot"><a href="GHC.Num.WordArray.html#mwaWriteOrShrink"><span class="hs-identifier hs-type">mwaWriteOrShrink</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032866"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032866"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032866"><span class="hs-identifier hs-type">s</span></a></span></span><span>
</span><span id="line-277"></span><span id="mwaWriteOrShrink"><span class="annot"><span class="annottext">mwaWriteOrShrink :: forall s.
MutableWordArray# s -&gt; Word# -&gt; Int# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaWriteOrShrink"><span class="hs-identifier hs-var hs-var">mwaWriteOrShrink</span></a></span></span><span> </span><span id="local-6989586621679032683"><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032683"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span id="local-6989586621679032682"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032682"><span class="hs-identifier hs-var">_i</span></a></span></span><span> </span><span id="local-6989586621679032681"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032681"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; Int# -&gt; State# s -&gt; State# s
forall s. MutableByteArray# s -&gt; Int# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaShrink%23"><span class="hs-identifier hs-var">mwaShrink#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032683"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032681"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-278"></span><span class="annot"><a href="GHC.Num.WordArray.html#mwaWriteOrShrink"><span class="hs-identifier hs-var">mwaWriteOrShrink</span></a></span><span> </span><span id="local-6989586621679032680"><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032680"><span class="hs-identifier hs-var">mwa</span></a></span></span><span>  </span><span id="local-6989586621679032679"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032679"><span class="hs-identifier hs-var">w</span></a></span></span><span>   </span><span id="local-6989586621679032678"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032678"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span id="local-6989586621679032677"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032677"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
forall s.
MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaWrite%23"><span class="hs-identifier hs-var">mwaWrite#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032680"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032678"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032679"><span class="hs-identifier hs-var">w</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032677"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-279"></span><span>
</span><span id="line-280"></span><span class="hs-comment">-- | Compute the index of the most-significant Word and write it.</span><span>
</span><span id="line-281"></span><span id="local-6989586621679032864"><span class="annot"><a href="GHC.Num.WordArray.html#mwaWriteMostSignificant"><span class="hs-identifier hs-type">mwaWriteMostSignificant</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032864"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032864"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032864"><span class="hs-identifier hs-type">s</span></a></span></span><span>
</span><span id="line-282"></span><span id="mwaWriteMostSignificant"><span class="annot"><span class="annottext">mwaWriteMostSignificant :: forall s. MutableWordArray# s -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaWriteMostSignificant"><span class="hs-identifier hs-var hs-var">mwaWriteMostSignificant</span></a></span></span><span> </span><span id="local-6989586621679032675"><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032675"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032674"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032674"><span class="hs-identifier hs-var">w</span></a></span></span><span> </span><span id="local-6989586621679032673"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032673"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-283"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
forall s. MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaSize%23"><span class="hs-identifier hs-var">mwaSize#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032675"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032673"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-284"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032672"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032672"><span class="hs-identifier hs-var">s'</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032671"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032671"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; Word# -&gt; Int# -&gt; State# s -&gt; State# s
forall s.
MutableWordArray# s -&gt; Word# -&gt; Int# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaWriteOrShrink"><span class="hs-identifier hs-var">mwaWriteOrShrink</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032675"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032674"><span class="hs-identifier hs-var">w</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032671"><span class="hs-identifier hs-var">sz</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032672"><span class="hs-identifier hs-var">s'</span></a></span><span>
</span><span id="line-285"></span><span>
</span><span id="line-286"></span><span class="hs-comment">-- | MutableWordArray &lt;- zipWith op wa1 wa2</span><span>
</span><span id="line-287"></span><span class="hs-comment">--</span><span>
</span><span id="line-288"></span><span class="hs-comment">-- Required output: Size(MutableWordArray) = min Size(wa1) Size(wa2)</span><span>
</span><span id="line-289"></span><span id="local-6989586621679032862"><span class="annot"><a href="GHC.Num.WordArray.html#mwaInitArrayBinOp"><span class="hs-identifier hs-type">mwaInitArrayBinOp</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032862"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032862"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span class="annot"><a href="#local-6989586621679032862"><span class="hs-identifier hs-type">s</span></a></span></span><span>
</span><span id="line-290"></span><span id="mwaInitArrayBinOp"><span class="annot"><span class="annottext">mwaInitArrayBinOp :: forall s.
MutableWordArray# s
-&gt; WordArray#
-&gt; WordArray#
-&gt; (Word# -&gt; Word# -&gt; Word#)
-&gt; State# s
-&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaInitArrayBinOp"><span class="hs-identifier hs-var hs-var">mwaInitArrayBinOp</span></a></span></span><span> </span><span id="local-6989586621679032669"><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032669"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032668"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032668"><span class="hs-identifier hs-var">wa</span></a></span></span><span> </span><span id="local-6989586621679032667"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032667"><span class="hs-identifier hs-var">wb</span></a></span></span><span> </span><span id="local-6989586621679032666"><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="#local-6989586621679032666"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span id="local-6989586621679032665"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032665"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; State# s -&gt; State# s
</span><a href="#local-6989586621679032664"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032665"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-291"></span><span>   </span><span class="hs-keyword">where</span><span>
</span><span id="line-292"></span><span>      </span><span class="hs-glyph">!</span><span id="local-6989586621679032663"><span class="annot"><span class="annottext">sz :: Int#
</span><a href="#local-6989586621679032663"><span class="hs-identifier hs-var hs-var">sz</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="GHC.Num.Primitives.html#minI%23"><span class="hs-identifier hs-var">minI#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">WordArray# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordArraySize%23"><span class="hs-identifier hs-var">wordArraySize#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032668"><span class="hs-identifier hs-var">wa</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">WordArray# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordArraySize%23"><span class="hs-identifier hs-var">wordArraySize#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032667"><span class="hs-identifier hs-var">wb</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-293"></span><span>      </span><span id="local-6989586621679032664"><span class="annot"><span class="annottext">go :: Int# -&gt; State# s -&gt; State# s
</span><a href="#local-6989586621679032664"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679032661"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032661"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span id="local-6989586621679032660"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032660"><span class="hs-identifier hs-var">s'</span></a></span></span><span>
</span><span id="line-294"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032661"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3D%3D%23"><span class="hs-operator hs-var">==#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032663"><span class="hs-identifier hs-var">sz</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032660"><span class="hs-identifier hs-var">s'</span></a></span><span>
</span><span id="line-295"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-296"></span><span>            </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">WordArray# -&gt; Int# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#indexWordArray%23"><span class="hs-identifier hs-var">indexWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032668"><span class="hs-identifier hs-var">wa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032661"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="#local-6989586621679032666"><span class="hs-operator hs-var">`op`</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray# -&gt; Int# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#indexWordArray%23"><span class="hs-identifier hs-var">indexWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032667"><span class="hs-identifier hs-var">wb</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032661"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-297"></span><span>               </span><span id="local-6989586621679032659"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032659"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
forall s.
MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaWrite%23"><span class="hs-identifier hs-var">mwaWrite#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032669"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032661"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032659"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032660"><span class="hs-identifier hs-var">s'</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-298"></span><span>                  </span><span id="local-6989586621679032658"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032658"><span class="hs-identifier hs-var">s''</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; State# s -&gt; State# s
</span><a href="#local-6989586621679032664"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032661"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032658"><span class="hs-identifier hs-var">s''</span></a></span><span>
</span><span id="line-299"></span><span>
</span><span id="line-300"></span><span class="hs-comment">-- | Write an element of the MutableWordArray</span><span>
</span><span id="line-301"></span><span id="local-6989586621679032882"><span class="annot"><a href="GHC.Num.WordArray.html#mwaWrite%23"><span class="hs-identifier hs-type">mwaWrite#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032882"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032882"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032882"><span class="hs-identifier hs-type">s</span></a></span></span><span>
</span><span id="line-302"></span><span id="mwaWrite%23"><span class="annot"><span class="annottext">mwaWrite# :: forall s.
MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaWrite%23"><span class="hs-identifier hs-var hs-var">mwaWrite#</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
forall s.
MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="../../ghc-prim/src/GHC.Prim.html#writeWordArray%23"><span class="hs-identifier hs-var">writeWordArray#</span></a></span><span>
</span><span id="line-303"></span><span>
</span><span id="line-304"></span><span class="hs-comment">-- | Fill some part of a MutableWordArray with the given Word#</span><span>
</span><span id="line-305"></span><span id="local-6989586621679032859"><span class="annot"><a href="GHC.Num.WordArray.html#mwaFill%23"><span class="hs-identifier hs-type">mwaFill#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032859"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032859"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032859"><span class="hs-identifier hs-type">s</span></a></span></span><span>
</span><span id="line-306"></span><span id="mwaFill%23"><span class="annot"><span class="annottext">mwaFill# :: forall s.
MutableWordArray# s
-&gt; Word# -&gt; Word# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaFill%23"><span class="hs-identifier hs-var hs-var">mwaFill#</span></a></span></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><span class="hs-identifier">_</span></span><span>   </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span>   </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span id="local-6989586621679032656"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032656"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032656"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-307"></span><span class="annot"><a href="GHC.Num.WordArray.html#mwaFill%23"><span class="hs-identifier hs-var">mwaFill#</span></a></span><span> </span><span id="local-6989586621679032655"><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032655"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032654"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032654"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span id="local-6989586621679032653"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032653"><span class="hs-identifier hs-var">off</span></a></span></span><span> </span><span id="local-6989586621679032652"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032652"><span class="hs-identifier hs-var">n</span></a></span></span><span>   </span><span id="local-6989586621679032651"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032651"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
forall s.
MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaWrite%23"><span class="hs-identifier hs-var">mwaWrite#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032655"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032653"><span class="hs-identifier hs-var">off</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032654"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032651"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-308"></span><span>   </span><span id="local-6989586621679032650"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032650"><span class="hs-identifier hs-var">s'</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
-&gt; Word# -&gt; Word# -&gt; Word# -&gt; State# s -&gt; State# s
forall s.
MutableWordArray# s
-&gt; Word# -&gt; Word# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaFill%23"><span class="hs-identifier hs-var">mwaFill#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032655"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032654"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032653"><span class="hs-identifier hs-var">off</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#plusWord%23"><span class="hs-operator hs-var">`plusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032652"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032650"><span class="hs-identifier hs-var">s'</span></a></span><span>
</span><span id="line-309"></span><span>
</span><span id="line-310"></span><span class="hs-comment">-- | Add Word# inplace (a the specified offset) in the mwa with carry propagation.</span><span>
</span><span id="line-311"></span><span id="local-6989586621679032649"><span class="annot"><a href="GHC.Num.WordArray.html#mwaAddInplaceWord%23"><span class="hs-identifier hs-type">mwaAddInplaceWord#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032649"><span class="hs-identifier hs-type">d</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032649"><span class="hs-identifier hs-type">d</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032649"><span class="hs-identifier hs-type">d</span></a></span></span><span>
</span><span id="line-312"></span><span id="mwaAddInplaceWord%23"><span class="annot"><span class="annottext">mwaAddInplaceWord# :: forall s.
MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaAddInplaceWord%23"><span class="hs-identifier hs-var hs-var">mwaAddInplaceWord#</span></a></span></span><span>   </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span id="local-6989586621679032647"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032647"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032647"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-313"></span><span class="annot"><a href="GHC.Num.WordArray.html#mwaAddInplaceWord%23"><span class="hs-identifier hs-var">mwaAddInplaceWord#</span></a></span><span> </span><span id="local-6989586621679032646"><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032646"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032645"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032645"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span id="local-6989586621679032644"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032644"><span class="hs-identifier hs-var">y</span></a></span></span><span>   </span><span id="local-6989586621679032643"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032643"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d -&gt; Int# -&gt; State# d -&gt; (# State# d, Word# #)
forall d.
MutableByteArray# d -&gt; Int# -&gt; State# d -&gt; (# State# d, Word# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#readWordArray%23"><span class="hs-identifier hs-var">readWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032646"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032645"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032643"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-314"></span><span>   </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032642"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032642"><span class="hs-identifier hs-var">s1</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032641"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032641"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">let</span><span> </span><span class="hs-glyph">!</span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032640"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032640"><span class="hs-identifier hs-var">h</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621679032639"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032639"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; (# Word#, Word# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#plusWord2%23"><span class="hs-identifier hs-var">plusWord2#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032641"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032644"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-315"></span><span>                  </span><span class="hs-keyword">in</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d -&gt; Int# -&gt; Word# -&gt; State# d -&gt; State# d
forall s.
MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaWrite%23"><span class="hs-identifier hs-var">mwaWrite#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032646"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032645"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032639"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032642"><span class="hs-identifier hs-var">s1</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-316"></span><span>                        </span><span id="local-6989586621679032638"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032638"><span class="hs-identifier hs-var">s2</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d -&gt; Int# -&gt; Word# -&gt; State# d -&gt; State# d
forall s.
MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaAddInplaceWord%23"><span class="hs-identifier hs-var">mwaAddInplaceWord#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032646"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032645"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032640"><span class="hs-identifier hs-var">h</span></a></span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032638"><span class="hs-identifier hs-var">s2</span></a></span><span>
</span><span id="line-317"></span><span>
</span><span id="line-318"></span><span class="hs-comment">-- | Sub Word# inplace (at the specified offset) in the mwa with carry</span><span>
</span><span id="line-319"></span><span class="hs-comment">-- propagation.</span><span>
</span><span id="line-320"></span><span class="hs-comment">--</span><span>
</span><span id="line-321"></span><span class="hs-comment">-- Return False# on underflow</span><span>
</span><span id="line-322"></span><span id="local-6989586621679032856"><span class="annot"><a href="GHC.Num.WordArray.html#mwaSubInplaceWord%23"><span class="hs-identifier hs-type">mwaSubInplaceWord#</span></a></span><span>
</span><span id="line-323"></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032856"><span class="hs-identifier hs-type">d</span></a></span><span>
</span><span id="line-324"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span>
</span><span id="line-325"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span>
</span><span id="line-326"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032856"><span class="hs-identifier hs-type">d</span></a></span><span>
</span><span id="line-327"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032856"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-328"></span><span id="mwaSubInplaceWord%23"><span class="annot"><span class="annottext">mwaSubInplaceWord# :: forall d.
MutableWordArray# d
-&gt; Int# -&gt; Word# -&gt; State# d -&gt; (# State# d, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaSubInplaceWord%23"><span class="hs-identifier hs-var hs-var">mwaSubInplaceWord#</span></a></span></span><span> </span><span id="local-6989586621679032636"><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032636"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032635"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032635"><span class="hs-identifier hs-var">ii</span></a></span></span><span> </span><span id="local-6989586621679032634"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032634"><span class="hs-identifier hs-var">iw</span></a></span></span><span> </span><span id="local-6989586621679032633"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032633"><span class="hs-identifier hs-var">s1</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d -&gt; State# d -&gt; (# State# d, Int# #)
forall s. MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaSize%23"><span class="hs-identifier hs-var">mwaSize#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032636"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032633"><span class="hs-identifier hs-var">s1</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-329"></span><span>   </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032632"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032632"><span class="hs-identifier hs-var">is</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032631"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032631"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-330"></span><span>      </span><span class="hs-keyword">let</span><span>
</span><span id="line-331"></span><span>         </span><span id="local-6989586621679032630"><span class="annot"><span class="annottext">go :: Int# -&gt; Word# -&gt; State# d -&gt; (# State# d, Int# #)
</span><a href="#local-6989586621679032630"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span id="local-6989586621679032629"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032629"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032629"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-comment">-- no underflow</span><span>
</span><span id="line-332"></span><span>         </span><span class="annot"><a href="#local-6989586621679032630"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span id="local-6989586621679032628"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032628"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span id="local-6989586621679032627"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032627"><span class="hs-identifier hs-var">y</span></a></span></span><span>   </span><span id="local-6989586621679032626"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032626"><span class="hs-identifier hs-var">s</span></a></span></span><span>
</span><span id="line-333"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032628"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032631"><span class="hs-identifier hs-var">sz</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032626"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-comment">-- underflow</span><span>
</span><span id="line-334"></span><span>            </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d -&gt; Int# -&gt; State# d -&gt; (# State# d, Word# #)
forall d.
MutableByteArray# d -&gt; Int# -&gt; State# d -&gt; (# State# d, Word# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#readWordArray%23"><span class="hs-identifier hs-var">readWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032636"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032628"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032626"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-335"></span><span>               </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032625"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032625"><span class="hs-identifier hs-var">s1</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032624"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032624"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">let</span><span> </span><span class="hs-glyph">!</span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032623"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032623"><span class="hs-identifier hs-var">l</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621679032622"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032622"><span class="hs-identifier hs-var">h</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; (# Word#, Int# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#subWordC%23"><span class="hs-identifier hs-var">subWordC#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032624"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032627"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-336"></span><span>                  </span><span class="hs-keyword">in</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d -&gt; Int# -&gt; Word# -&gt; State# d -&gt; State# d
forall s.
MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaWrite%23"><span class="hs-identifier hs-var">mwaWrite#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032636"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032628"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032623"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032625"><span class="hs-identifier hs-var">s1</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-337"></span><span>                     </span><span id="local-6989586621679032621"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032621"><span class="hs-identifier hs-var">s2</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Word# -&gt; State# d -&gt; (# State# d, Int# #)
</span><a href="#local-6989586621679032630"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032628"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032622"><span class="hs-identifier hs-var">h</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032621"><span class="hs-identifier hs-var">s2</span></a></span><span>
</span><span id="line-338"></span><span>      </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Word# -&gt; State# d -&gt; (# State# d, Int# #)
</span><a href="#local-6989586621679032630"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032635"><span class="hs-identifier hs-var">ii</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032634"><span class="hs-identifier hs-var">iw</span></a></span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032632"><span class="hs-identifier hs-var">is</span></a></span><span>
</span><span id="line-339"></span><span>
</span><span id="line-340"></span><span>
</span><span id="line-341"></span><span class="hs-comment">-- | Trim `a` of `k` less significant limbs and then compare the result with `b`</span><span>
</span><span id="line-342"></span><span class="hs-comment">--</span><span>
</span><span id="line-343"></span><span class="hs-comment">-- &quot;mwa&quot; doesn't need to be trimmed</span><span>
</span><span id="line-344"></span><span id="local-6989586621679032854"><span class="annot"><a href="GHC.Num.WordArray.html#mwaTrimCompare"><span class="hs-identifier hs-type">mwaTrimCompare</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032854"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032854"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032854"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Ordering"><span class="hs-identifier hs-type">Ordering</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-345"></span><span id="mwaTrimCompare"><span class="annot"><span class="annottext">mwaTrimCompare :: forall s.
Int#
-&gt; MutableWordArray# s
-&gt; WordArray#
-&gt; State# s
-&gt; (# State# s, Ordering #)
</span><a href="GHC.Num.WordArray.html#mwaTrimCompare"><span class="hs-identifier hs-var hs-var">mwaTrimCompare</span></a></span></span><span> </span><span id="local-6989586621679032619"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032619"><span class="hs-identifier hs-var">k</span></a></span></span><span> </span><span id="local-6989586621679032618"><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032618"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032617"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032617"><span class="hs-identifier hs-var">wb</span></a></span></span><span> </span><span id="local-6989586621679032616"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032616"><span class="hs-identifier hs-var">s1</span></a></span></span><span>
</span><span id="line-346"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032615"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032615"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032614"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032614"><span class="hs-identifier hs-var">szA</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
forall s. MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaSize%23"><span class="hs-identifier hs-var">mwaSize#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032618"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032616"><span class="hs-identifier hs-var">s1</span></a></span><span>
</span><span id="line-347"></span><span>   </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032613"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032613"><span class="hs-identifier hs-var">szB</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">WordArray# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordArraySize%23"><span class="hs-identifier hs-var">wordArraySize#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032617"><span class="hs-identifier hs-var">wb</span></a></span><span>
</span><span id="line-348"></span><span>   </span><span class="hs-glyph">=</span><span>
</span><span id="line-349"></span><span>     </span><span class="hs-keyword">let</span><span>
</span><span id="line-350"></span><span>      </span><span id="local-6989586621679032612"><span class="annot"><span class="annottext">go :: Int# -&gt; State# s -&gt; (# State# s, Ordering #)
</span><a href="#local-6989586621679032612"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679032611"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032611"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span id="local-6989586621679032610"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032610"><span class="hs-identifier hs-var">s</span></a></span></span><span>
</span><span id="line-351"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032611"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032610"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-352"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; Int# -&gt; State# s -&gt; (# State# s, Word# #)
forall d.
MutableByteArray# d -&gt; Int# -&gt; State# d -&gt; (# State# d, Word# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#readWordArray%23"><span class="hs-identifier hs-var">readWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032618"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032611"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032619"><span class="hs-identifier hs-var">k</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032610"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-353"></span><span>            </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032609"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032609"><span class="hs-identifier hs-var">s2</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032608"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032608"><span class="hs-identifier hs-var">ai</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-354"></span><span>               </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679032607"><span class="annot"><span class="annottext">bi :: Word#
</span><a href="#local-6989586621679032607"><span class="hs-identifier hs-var hs-var">bi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032611"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032613"><span class="hs-identifier hs-var">szB</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-355"></span><span>                           </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-356"></span><span>                           </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">WordArray# -&gt; Int# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#indexWordArray%23"><span class="hs-identifier hs-var">indexWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032617"><span class="hs-identifier hs-var">wb</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032611"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-357"></span><span>               </span><span class="hs-keyword">in</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032608"><span class="hs-identifier hs-var">ai</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#gtWord%23"><span class="hs-operator hs-var">`gtWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032607"><span class="hs-identifier hs-var">bi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032609"><span class="hs-identifier hs-var">s2</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-358"></span><span>                     </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032607"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#gtWord%23"><span class="hs-operator hs-var">`gtWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032608"><span class="hs-identifier hs-var">ai</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032609"><span class="hs-identifier hs-var">s2</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-359"></span><span>                     </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; State# s -&gt; (# State# s, Ordering #)
</span><a href="#local-6989586621679032612"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032611"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032609"><span class="hs-identifier hs-var">s2</span></a></span><span>
</span><span id="line-360"></span><span>
</span><span id="line-361"></span><span>      </span><span id="local-6989586621679032606"><span class="annot"><span class="annottext">szTrimA :: Int#
</span><a href="#local-6989586621679032606"><span class="hs-identifier hs-var hs-var">szTrimA</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032614"><span class="hs-identifier hs-var">szA</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032619"><span class="hs-identifier hs-var">k</span></a></span><span>
</span><span id="line-362"></span><span>
</span><span id="line-363"></span><span>     </span><span class="hs-keyword">in</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032606"><span class="hs-identifier hs-var">szTrimA</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032613"><span class="hs-identifier hs-var">szB</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032615"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-364"></span><span>           </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; State# s -&gt; (# State# s, Ordering #)
</span><a href="#local-6989586621679032612"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032614"><span class="hs-identifier hs-var">szA</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032619"><span class="hs-identifier hs-var">k</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032615"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-365"></span><span>
</span><span id="line-366"></span><span>
</span><span id="line-367"></span><span class="hs-comment">-- | Sub array inplace (at the specified offset) in the mwa with carry propagation.</span><span>
</span><span id="line-368"></span><span class="hs-comment">--</span><span>
</span><span id="line-369"></span><span class="hs-comment">-- We don't trim the resulting array!</span><span>
</span><span id="line-370"></span><span class="hs-comment">--</span><span>
</span><span id="line-371"></span><span class="hs-comment">-- Return False# on underflow.</span><span>
</span><span id="line-372"></span><span id="local-6989586621679032852"><span class="annot"><a href="GHC.Num.WordArray.html#mwaSubInplaceArray"><span class="hs-identifier hs-type">mwaSubInplaceArray</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032852"><span class="hs-identifier hs-type">d</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032852"><span class="hs-identifier hs-type">d</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032852"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-373"></span><span id="mwaSubInplaceArray"><span class="annot"><span class="annottext">mwaSubInplaceArray :: forall d.
MutableWordArray# d
-&gt; Int# -&gt; WordArray# -&gt; State# d -&gt; (# State# d, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaSubInplaceArray"><span class="hs-identifier hs-var hs-var">mwaSubInplaceArray</span></a></span></span><span> </span><span id="local-6989586621679032604"><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032604"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032603"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032603"><span class="hs-identifier hs-var">off</span></a></span></span><span> </span><span id="local-6989586621679032602"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032602"><span class="hs-identifier hs-var">wb</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; State# d -&gt; (# State# d, Int# #)
</span><a href="#local-6989586621679032601"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">WordArray# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordArraySize%23"><span class="hs-identifier hs-var">wordArraySize#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032602"><span class="hs-identifier hs-var">wb</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>
</span><span id="line-374"></span><span>   </span><span class="hs-keyword">where</span><span>
</span><span id="line-375"></span><span>      </span><span id="local-6989586621679032601"><span class="annot"><span class="annottext">go :: Int# -&gt; State# d -&gt; (# State# d, Int# #)
</span><a href="#local-6989586621679032601"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679032600"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032600"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span id="local-6989586621679032599"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032599"><span class="hs-identifier hs-var">s</span></a></span></span><span>
</span><span id="line-376"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032600"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032599"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-comment">-- no underflow</span><span>
</span><span id="line-377"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-378"></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
-&gt; Int# -&gt; Word# -&gt; State# d -&gt; (# State# d, Int# #)
forall d.
MutableWordArray# d
-&gt; Int# -&gt; Word# -&gt; State# d -&gt; (# State# d, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaSubInplaceWord%23"><span class="hs-identifier hs-var">mwaSubInplaceWord#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032604"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032603"><span class="hs-identifier hs-var">off</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032600"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">WordArray# -&gt; Int# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#indexWordArray%23"><span class="hs-identifier hs-var">indexWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032602"><span class="hs-identifier hs-var">wb</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032600"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032599"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-379"></span><span>            </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032598"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032598"><span class="hs-identifier hs-var">s2</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; State# d -&gt; (# State# d, Int# #)
</span><a href="#local-6989586621679032601"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032600"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032598"><span class="hs-identifier hs-var">s2</span></a></span><span>
</span><span id="line-380"></span><span>            </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032597"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032597"><span class="hs-identifier hs-var">s2</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-identifier">_</span></span><span>  </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032597"><span class="hs-identifier hs-var">s2</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-comment">-- underflow</span><span>
</span><span id="line-381"></span><span>
</span><span id="line-382"></span><span class="hs-comment">-- | Add array inplace (a the specified offset) in the mwa with carry propagation.</span><span>
</span><span id="line-383"></span><span class="hs-comment">--</span><span>
</span><span id="line-384"></span><span class="hs-comment">-- Upper bound of the result mutable aray is not checked against overflow.</span><span>
</span><span id="line-385"></span><span id="local-6989586621679032850"><span class="annot"><a href="GHC.Num.WordArray.html#mwaAddInplaceArray"><span class="hs-identifier hs-type">mwaAddInplaceArray</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032850"><span class="hs-identifier hs-type">d</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032850"><span class="hs-identifier hs-type">d</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032850"><span class="hs-identifier hs-type">d</span></a></span></span><span>
</span><span id="line-386"></span><span id="mwaAddInplaceArray"><span class="annot"><span class="annottext">mwaAddInplaceArray :: forall d.
MutableWordArray# d -&gt; Int# -&gt; WordArray# -&gt; State# d -&gt; State# d
</span><a href="GHC.Num.WordArray.html#mwaAddInplaceArray"><span class="hs-identifier hs-var hs-var">mwaAddInplaceArray</span></a></span></span><span> </span><span id="local-6989586621679032595"><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032595"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032594"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032594"><span class="hs-identifier hs-var">off</span></a></span></span><span> </span><span id="local-6989586621679032593"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032593"><span class="hs-identifier hs-var">wb</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Word# -&gt; State# d -&gt; State# d
</span><a href="#local-6989586621679032592"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-387"></span><span>   </span><span class="hs-keyword">where</span><span>
</span><span id="line-388"></span><span>      </span><span class="hs-glyph">!</span><span id="local-6989586621679032591"><span class="annot"><span class="annottext">maxi :: Int#
</span><a href="#local-6989586621679032591"><span class="hs-identifier hs-var hs-var">maxi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">WordArray# -&gt; Int#
</span><a href="GHC.Num.WordArray.html#wordArraySize%23"><span class="hs-identifier hs-var">wordArraySize#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032593"><span class="hs-identifier hs-var">wb</span></a></span><span>
</span><span id="line-389"></span><span>      </span><span id="local-6989586621679032592"><span class="annot"><span class="annottext">go :: Int# -&gt; Word# -&gt; State# d -&gt; State# d
</span><a href="#local-6989586621679032592"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679032590"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032590"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span id="local-6989586621679032589"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032589"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span id="local-6989586621679032588"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032588"><span class="hs-identifier hs-var">s</span></a></span></span><span>
</span><span id="line-390"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032590"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3D%3D%23"><span class="hs-operator hs-var">==#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032591"><span class="hs-identifier hs-var">maxi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d -&gt; Int# -&gt; Word# -&gt; State# d -&gt; State# d
forall s.
MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaAddInplaceWord%23"><span class="hs-identifier hs-var">mwaAddInplaceWord#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032595"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032590"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032594"><span class="hs-identifier hs-var">off</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032589"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032588"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-391"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-392"></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d -&gt; Int# -&gt; State# d -&gt; (# State# d, Word# #)
forall d.
MutableByteArray# d -&gt; Int# -&gt; State# d -&gt; (# State# d, Word# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#readWordArray%23"><span class="hs-identifier hs-var">readWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032595"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032590"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032594"><span class="hs-identifier hs-var">off</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032588"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-393"></span><span>            </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032587"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032587"><span class="hs-identifier hs-var">s</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032586"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032586"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word# -&gt; (# Word#, Word# #)
</span><a href="GHC.Num.Primitives.html#plusWord3%23"><span class="hs-identifier hs-var">plusWord3#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032586"><span class="hs-identifier hs-var">v</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">WordArray# -&gt; Int# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#indexWordArray%23"><span class="hs-identifier hs-var">indexWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032593"><span class="hs-identifier hs-var">wb</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032590"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032589"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-394"></span><span>               </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032584"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032584"><span class="hs-identifier hs-var">c'</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032583"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032583"><span class="hs-identifier hs-var">v'</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d -&gt; Int# -&gt; Word# -&gt; State# d -&gt; State# d
forall s.
MutableWordArray# s -&gt; Int# -&gt; Word# -&gt; State# s -&gt; State# s
</span><a href="../../ghc-prim/src/GHC.Prim.html#writeWordArray%23"><span class="hs-identifier hs-var">writeWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032595"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032590"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032594"><span class="hs-identifier hs-var">off</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032583"><span class="hs-identifier hs-var">v'</span></a></span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032587"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-395"></span><span>                  </span><span id="local-6989586621679032582"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032582"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Word# -&gt; State# d -&gt; State# d
</span><a href="#local-6989586621679032592"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032590"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032584"><span class="hs-identifier hs-var">c'</span></a></span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032582"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-396"></span><span>
</span><span id="line-397"></span><span class="hs-comment">-- | Sub array inplace (at the specified offset) in the mwa with carry propagation.</span><span>
</span><span id="line-398"></span><span class="hs-comment">--</span><span>
</span><span id="line-399"></span><span class="hs-comment">-- We don't trim the resulting array!</span><span>
</span><span id="line-400"></span><span class="hs-comment">--</span><span>
</span><span id="line-401"></span><span class="hs-comment">-- Return False# on underflow.</span><span>
</span><span id="line-402"></span><span id="local-6989586621679032848"><span class="annot"><a href="GHC.Num.WordArray.html#mwaSubInplaceMutableArray"><span class="hs-identifier hs-type">mwaSubInplaceMutableArray</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032848"><span class="hs-identifier hs-type">d</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032848"><span class="hs-identifier hs-type">d</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032848"><span class="hs-identifier hs-type">d</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032848"><span class="hs-identifier hs-type">d</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-403"></span><span id="mwaSubInplaceMutableArray"><span class="annot"><span class="annottext">mwaSubInplaceMutableArray :: forall d.
MutableWordArray# d
-&gt; Int# -&gt; MutableWordArray# d -&gt; State# d -&gt; (# State# d, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaSubInplaceMutableArray"><span class="hs-identifier hs-var hs-var">mwaSubInplaceMutableArray</span></a></span></span><span> </span><span id="local-6989586621679032580"><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032580"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032579"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032579"><span class="hs-identifier hs-var">off</span></a></span></span><span> </span><span id="local-6989586621679032578"><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032578"><span class="hs-identifier hs-var">mwb</span></a></span></span><span> </span><span id="local-6989586621679032577"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032577"><span class="hs-identifier hs-var">s0</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-404"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d -&gt; State# d -&gt; (# State# d, Int# #)
forall s. MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaSize%23"><span class="hs-identifier hs-var">mwaSize#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032578"><span class="hs-identifier hs-var">mwb</span></a></span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032577"><span class="hs-identifier hs-var">s0</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-405"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032576"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032576"><span class="hs-identifier hs-var">s1</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032575"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032575"><span class="hs-identifier hs-var">szB</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; State# d -&gt; (# State# d, Int# #)
</span><a href="#local-6989586621679032574"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032575"><span class="hs-identifier hs-var">szB</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032576"><span class="hs-identifier hs-var">s1</span></a></span><span>
</span><span id="line-406"></span><span>   </span><span class="hs-keyword">where</span><span>
</span><span id="line-407"></span><span>      </span><span id="local-6989586621679032574"><span class="annot"><span class="annottext">go :: Int# -&gt; State# d -&gt; (# State# d, Int# #)
</span><a href="#local-6989586621679032574"><span class="hs-identifier hs-var hs-var">go</span></a></span></span><span> </span><span id="local-6989586621679032573"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032573"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span id="local-6989586621679032572"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032572"><span class="hs-identifier hs-var">s</span></a></span></span><span>
</span><span id="line-408"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032573"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032572"><span class="hs-identifier hs-var">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-comment">-- no underflow</span><span>
</span><span id="line-409"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-410"></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d -&gt; Int# -&gt; State# d -&gt; (# State# d, Word# #)
forall d.
MutableByteArray# d -&gt; Int# -&gt; State# d -&gt; (# State# d, Word# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#readWordArray%23"><span class="hs-identifier hs-var">readWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032578"><span class="hs-identifier hs-var">mwb</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032573"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032572"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-411"></span><span>            </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032571"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032571"><span class="hs-identifier hs-var">s1</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032570"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032570"><span class="hs-identifier hs-var">bi</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
-&gt; Int# -&gt; Word# -&gt; State# d -&gt; (# State# d, Int# #)
forall d.
MutableWordArray# d
-&gt; Int# -&gt; Word# -&gt; State# d -&gt; (# State# d, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaSubInplaceWord%23"><span class="hs-identifier hs-var">mwaSubInplaceWord#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032580"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032579"><span class="hs-identifier hs-var">off</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2B%23"><span class="hs-operator hs-var">+#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032573"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679032570"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032571"><span class="hs-identifier hs-var">s1</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-412"></span><span>               </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032569"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032569"><span class="hs-identifier hs-var">s2</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; State# d -&gt; (# State# d, Int# #)
</span><a href="#local-6989586621679032574"><span class="hs-identifier hs-var">go</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032573"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032569"><span class="hs-identifier hs-var">s2</span></a></span><span>
</span><span id="line-413"></span><span>               </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032568"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032568"><span class="hs-identifier hs-var">s2</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-identifier">_</span></span><span>  </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032568"><span class="hs-identifier hs-var">s2</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-comment">-- underflow</span><span>
</span><span id="line-414"></span><span>
</span><span id="line-415"></span><span class="hs-comment">-- | Sub an array inplace and then trim zeroes</span><span>
</span><span id="line-416"></span><span class="hs-comment">--</span><span>
</span><span id="line-417"></span><span class="hs-comment">-- Don't check overflow. The caller must ensure that a&gt;=b</span><span>
</span><span id="line-418"></span><span id="local-6989586621679032567"><span class="annot"><a href="GHC.Num.WordArray.html#mwaSubInplaceArrayTrim"><span class="hs-identifier hs-type">mwaSubInplaceArrayTrim</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032567"><span class="hs-identifier hs-type">d</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#WordArray%23"><span class="hs-identifier hs-type">WordArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032567"><span class="hs-identifier hs-type">d</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032567"><span class="hs-identifier hs-type">d</span></a></span></span><span>
</span><span id="line-419"></span><span id="mwaSubInplaceArrayTrim"><span class="annot"><span class="annottext">mwaSubInplaceArrayTrim :: forall d.
MutableWordArray# d -&gt; Int# -&gt; WordArray# -&gt; State# d -&gt; State# d
</span><a href="GHC.Num.WordArray.html#mwaSubInplaceArrayTrim"><span class="hs-identifier hs-var hs-var">mwaSubInplaceArrayTrim</span></a></span></span><span> </span><span id="local-6989586621679032565"><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032565"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032564"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032564"><span class="hs-identifier hs-var">off</span></a></span></span><span> </span><span id="local-6989586621679032563"><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032563"><span class="hs-identifier hs-var">wb</span></a></span></span><span> </span><span id="local-6989586621679032562"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032562"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-420"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
-&gt; Int# -&gt; WordArray# -&gt; State# d -&gt; (# State# d, Int# #)
forall d.
MutableWordArray# d
-&gt; Int# -&gt; WordArray# -&gt; State# d -&gt; (# State# d, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaSubInplaceArray"><span class="hs-identifier hs-var">mwaSubInplaceArray</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032565"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032564"><span class="hs-identifier hs-var">off</span></a></span><span> </span><span class="annot"><span class="annottext">WordArray#
</span><a href="#local-6989586621679032563"><span class="hs-identifier hs-var">wb</span></a></span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032562"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-421"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032561"><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032561"><span class="hs-identifier hs-var">s'</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d -&gt; State# d -&gt; State# d
forall s. MutableByteArray# s -&gt; State# s -&gt; State# s
</span><a href="GHC.Num.WordArray.html#mwaTrimZeroes%23"><span class="hs-identifier hs-var">mwaTrimZeroes#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# d
</span><a href="#local-6989586621679032565"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">State# d
</span><a href="#local-6989586621679032561"><span class="hs-identifier hs-var">s'</span></a></span><span>
</span><span id="line-422"></span><span>
</span><span id="line-423"></span><span>
</span><span id="line-424"></span><span class="hs-comment">-- | Read an indexed Word in the MutableWordArray. If the index is out-of-bound,</span><span>
</span><span id="line-425"></span><span class="hs-comment">-- return zero.</span><span>
</span><span id="line-426"></span><span id="local-6989586621679032560"><span class="annot"><a href="GHC.Num.WordArray.html#mwaReadOrZero"><span class="hs-identifier hs-type">mwaReadOrZero</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032560"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032560"><span class="hs-identifier hs-type">s</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032560"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-427"></span><span id="mwaReadOrZero"><span class="annot"><span class="annottext">mwaReadOrZero :: forall d.
MutableByteArray# d -&gt; Int# -&gt; State# d -&gt; (# State# d, Word# #)
</span><a href="GHC.Num.WordArray.html#mwaReadOrZero"><span class="hs-identifier hs-var hs-var">mwaReadOrZero</span></a></span></span><span> </span><span id="local-6989586621679032558"><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032558"><span class="hs-identifier hs-var">mwa</span></a></span></span><span> </span><span id="local-6989586621679032557"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032557"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span id="local-6989586621679032556"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032556"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
forall s. MutableWordArray# s -&gt; State# s -&gt; (# State# s, Int# #)
</span><a href="GHC.Num.WordArray.html#mwaSize%23"><span class="hs-identifier hs-var">mwaSize#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032558"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032556"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-428"></span><span>   </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679032555"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032555"><span class="hs-identifier hs-var">s2</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679032554"><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032554"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-429"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032557"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032554"><span class="hs-identifier hs-var">sz</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032555"><span class="hs-identifier hs-var">s2</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-430"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032557"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Int# -&gt; Int# -&gt; Int#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032555"><span class="hs-identifier hs-var">s2</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-431"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s -&gt; Int# -&gt; State# s -&gt; (# State# s, Word# #)
forall d.
MutableByteArray# d -&gt; Int# -&gt; State# d -&gt; (# State# d, Word# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#readWordArray%23"><span class="hs-identifier hs-var">readWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">MutableWordArray# s
</span><a href="#local-6989586621679032558"><span class="hs-identifier hs-var">mwa</span></a></span><span> </span><span class="annot"><span class="annottext">Int#
</span><a href="#local-6989586621679032557"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679032555"><span class="hs-identifier hs-var">s2</span></a></span><span>
</span><span id="line-432"></span><span>
</span><span id="line-433"></span><span id="local-6989586621679032553"><span class="annot"><a href="GHC.Num.WordArray.html#mwaRead%23"><span class="hs-identifier hs-type">mwaRead#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.WordArray.html#MutableWordArray%23"><span class="hs-identifier hs-type">MutableWordArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032553"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032553"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679032553"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-434"></span><span id="mwaRead%23"><span class="annot"><span class="annottext">mwaRead# :: forall d.
MutableByteArray# d -&gt; Int# -&gt; State# d -&gt; (# State# d, Word# #)
</span><a href="GHC.Num.WordArray.html#mwaRead%23"><span class="hs-identifier hs-var hs-var">mwaRead#</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">MutableByteArray# s -&gt; Int# -&gt; State# s -&gt; (# State# s, Word# #)
forall d.
MutableByteArray# d -&gt; Int# -&gt; State# d -&gt; (# State# d, Word# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#readWordArray%23"><span class="hs-identifier hs-var">readWordArray#</span></a></span><span>
</span><span id="line-435"></span></pre></body></html>